Frequency modulation has become a popular technique for synthesizing musical sounds in applications where higher fidelity can be traded off for lower cost. Using frequency modulation to synthesize musical sounds ("FM synthesis") was first described by John Chowning in his landmark 1973 article "The Synthesis of Complex Audio Spectra by Means of Frequency Modulation," Journal of the Audio Engineering Society, vol. 21, no. 7, pp. 526-535. Chowning also described a particular frequency modulation technique in his article, which he pictured schematically as a MUSIC V "patch," or software code that can be patched into the MUSIC V sound synthesis program.
In his article, Chowning gave a mathematical formula for his frequency modulation technique, and he later obtained a patent, U.S. Pat. No. 4,018,121, based on that mathematical formula. Interestingly, although Chowning did not mention it, the formula he gave for his frequency modulation technique does not correspond to his MUSIC V patch. This has caused some confusion, since implementations based on the formula will sometimes give incompatible results to implementations based on the MUSIC V patch, even though it was thought that the implementations were the same. This confusion has taken some years to sort out.
Frode Holm gives perhaps the best summary of the resulting confusion and its resolution in his article "Understanding FM Implementations: A Call for Common Standards," Computer Music Journal, vol. 16, no. 1, pp. 34-42 (1992). Holm concludes that there are actually two distinct methods of FM synthesis, one using Chowning's formula and one using his particular MUSIC V patch implementation. Holm's analysis shows, mathematically, that Chowning's formula actually implements phase modulation, while the MUSIC V patch is "true" frequency modulation.
The respective mathematical formulas best illustrate the difference between Chowning's FM synthesis formula and his actual MUSIC V patch. Chowning's FM synthesis formula is: EQU E(t)=A(t)sin(.omega..sub.c ty+I(t)sin(.omega..sub.m t)) (1)
where E(t) is the instantaneous amplitude of the synthesized musical note, .omega..sub.c is the carrier frequency, I(t) is the time varying modulation index, and .omega..sub.m is the modulation frequency. As is evident to those skilled in the art, I(t), .omega..sub.c and .omega..sub.m can be varied with time to create the desired "tone color" for the basic tone pitch provided by .omega..sub.c.
In contrast, the MUSIC V patch presented by Chowning, expressed as a formula, is: EQU E(t)=A(t)sin(.omega..sub.c +I(t).omega..sub.m sin(.omega..sub.m t)!t)(2)
Note that the differences between the two equations are that the modulation term is now multiplied by the factor .omega..sub.m and that the entire argument of the outer sine function, rather than just .omega..sub.c, is now multiplied by the factor t. Because of these differences, the two approaches give incompatible results in some cases.
It should be noted that although these equations are helpful in understanding the theoretical basis for the two approaches, they only approximate the operation of the actual implementations of the Chowning formula and the MUSIC V patch. The operation of the actual implementations approaches the formulas above only as the sampling period used in the oscillators approaches zero. Moreover, the above formulas apply only when the waveform of the outputs of both the carrier and modulating oscillators are simple sine waves. When they are not, as is often the case, the actual operation of the implementation deviates from the applicable formula.
Following Chowning's article, a number of people designed real-time synthesizers using the techniques described by Chowning. Many designed implementations based on the MUSIC V patch. Most of these implementations used phase increment oscillators, which used as their frequency or "phase increment" input the sum of a static (or slowly time varying) frequency parameter and one or more audio rate "frequency modulation" inputs. Others designed analog implementations using analog voltage-controlled oscillators to implement the MUSIC V patch. Both the analog and digital implementations expanded on the Chowning article, demonstrating such features as multiple modulators and carriers, cascaded FM oscillators, and self-modulation.
Implementations based on the MUSIC V patch work quite well for music synthesis under very limited circumstances. If .omega..sub.m is essentially fixed (time varying only at very slow rates), I(t) can simply be appropriately scaled by the controlling computer without substantial extra computation. Furthermore, as shown above, the common factor "t" in the argument of the carrier sine function allows the "t" to be factored out of both terms. This then allows the output of the modulation oscillator, I(t).omega..sub.m sin(.omega..sub.m t), to be added directly to the carrier frequency .omega..sub.c before applying this sum to the carrier oscillator phase increment input. Hence, this is truly frequency modulation, and the carrier oscillator need only have a single frequency input.
Unfortunately, if .omega..sub.m is time varying at a substantial rate, as is common in certain applications, then I(t) must be scaled in a rapidly time varying manner in order to produce reasonably sounding results. Because the number of multiplications per second required to accomplish this is substantial, implementations based on the MUSIC V patch become costly to implement.
Also, the MUSIC V patch itself gives similar audible results to the Chowning formula only when the modulator output waveform is nominally a sinusoid. If waveforms with substantial harmonic content are included, such as the commonplace sawtooth or square waveforms, some deviation occurs between the two formulas for each sinusoidal harmonic component of the waveform. Specifically, in such cases, the ith sinusoidal harmonic component in the MUSIC V patch must be multiplied by its own effective .omega..sub.mi to generate audibly similar results to the Chowning formula. Once the sinusoids are combined, as with a square or sawtooth waveform, this is impractical to do.
To avoid additional computations, most implementations based on the MUSIC V patch simply multiply by the .omega..sub.m for a nominal sinusoid, rather than multiplying each sinusoidal harmonic component by its own .omega..sub.m. These implementations, therefore, give results that are not compatible with implementations based directly on the Chowning formula in cases where the modulator output is not nominally a sinusoid.
Accordingly, existing FM synthesis implementations based on the MUSIC V patch have some disadvantages. They require numerous multiplications, which are costly. They can also give incompatible results, particularly in the case of sawtooth and square waveforms. However, because they do not require two frequency inputs to the carrier phase increment oscillator, they do have some advantages over direct implementations of the Chowning formula.
In contrast to the MUSIC V patch, when implemented directly the Chowning formula performs "phase modulation" instead of true frequency modulation. Because a frequency integrated over time is a phase, the term I(t)sin(.omega..sub.m t) in Chowning's formula is actually being added to a phase, .omega..sub.c t, rather than a frequency. Moreover, this addition is done within the carrier phase increment oscillator, rather than as a distinct addition operation performed prior to the frequency being input to that oscillator, as is the case in true frequency modulation. Accordingly, as Holm points out, a direct implementation requires two distinct inputs into the carrier phase increment oscillator, one input representing the "static" frequency and the other a "phase modulation" increment value.
Like those based on the MUSIC V patch, existing phase modulation implementations based directly on the Chowning formula also have some disadvantages. They require a phase increment oscillator with both a frequency and a phase input, which adds complexity, and thus expense, to the circuitry required to implement the oscillator.
None of the existing implementations of either Chowning approach combines the advantages of the two approaches in a way that achieves reasonably sounding results that are audibly compatible. In particular, none combines the simplicity of the MUSIC V phase increment oscillator, with its single frequency input, with the minimal number of multiplications that can be achieved by the mathematically simpler phase modulation based directly on Chowning's formula. Moreover, unless a number of multiplications are done, none of the implementations based on the MUSIC V patch give audibly similar results for all types of waveforms, both sinusoidal and not, to the results of implementations based directly on Chowning's formula.